const baseSize = 16;
const baseSize24 = 24;

// 设置 rem 函数
function setRem() {
  // 分辨率小于 1920 时 默认14px
  if (window.innerWidth < 1920) {
    document.documentElement.style.setProperty("--global-font-size", "14px");
    document.documentElement.style.setProperty("--global-font-size-24", "18px");
  }
  // 分辨率等于 1920 时 默认 16px
  else if (window.innerWidth === 1920) {
    document.documentElement.style.setProperty("--global-font-size", "14px");
    document.documentElement.style.setProperty("--global-font-size-24", "20px");
  }
  // 分辨率大于 1920 时 直接动态计算 16 * 当前分辨率 / 1920 取整数
  else {
    let scale = window.innerWidth / 1920;
    let fontSize = baseSize * scale;

    let fontSize24 = baseSize24 * scale;
    // 使用 Math.round() 确保字体大小是整数
    fontSize = Math.round(fontSize);
    // 设置 --global-font-size 为计算后的 fontSize 值
    document.documentElement.style.setProperty(
      "--global-font-size",
      fontSize + "px"
    );
    document.documentElement.style.setProperty(
      "--global-font-size",
      fontSize24 + "px"
    );
  }
}

// 初始化
setRem();

// 改变窗口大小时重新设置 rem
window.onresize = function () {
  setRem();
};

// 监听窗口是否发生变化
function debounce(fn, delay) {
  let timer;
  return function () {
    if (timer) {
      clearTimeout(timer);
    }
    timer = setTimeout(function () {
      fn();
    }, delay);
  };
}

const cancellation = debounce(setRem, 500);

window.addEventListener("resize", cancellation);
